package org.lifxue.jqda.util;

import java.io.File;

/**
 * 
 * @Description: 文件和目录操作
 * @Author: zhangzuoqiang
 * @Date: Sep 26, 2011
 */
public class FileAndDir {

	/**
	 * 根据传入的参数（用户主目录），发现应用程序配置目录
	 * 
	 * @param userhome
	 *            用户主目录
	 * @return true--发现配置目录 false--否
	 */
	public static boolean findAppHome(String userhome) {
		File file = new File(userhome);
		if (file.isDirectory()) {
			for (String s : file.list()) {
				if (s.equals(GlobalConstant.DEFAULT_CONFIG_DIR)) {
					return true;
				}
			}
		}
		return false;
	}

	/**
	 * 在应用程序配置目录下查找文件
	 * 
	 * @param filename
	 *            要查找的文件
	 * @param userhome
	 *            用户主目录
	 * @param delimiter
	 *            分隔符
	 * @return true--查找到文件
	 */
	public static boolean findFile(String filename, String userhome,
			String delimiter) {
		if (findAppHome(userhome)) {
			File file = new File(userhome + delimiter
					+ GlobalConstant.DEFAULT_CONFIG_DIR);
			if (file.isDirectory()) {
				for (String s : file.list()) {
					if (s.equals(filename)) {
						return true;
					}
				}
			}

		}
		return false;
	}

	/**
	 * 在用户主目录下创建应用程序配置目录
	 * 
	 * @param userhome
	 *            用户主目录
	 * @param delimiter
	 *            分隔符
	 */
	public static void createAppHome(String userhome, String delimiter) {
		if (!findAppHome(userhome)) {
			File dir = new File(userhome + delimiter
					+ GlobalConstant.DEFAULT_CONFIG_DIR);
			if (!dir.exists()) {
				dir.mkdir();
			}
		}
	}

}
